System and method for predicting a criteria of interest

ABSTRACT

A method for predicting a criteria of interest based upon tag location data, derived tag location data, statistical data or the like corresponding to an object. The method may include receiving an input that defines one or more objects and one or more criteria of interest. Further, the method may include accessing tag location data, derived tag location data or the like for the object. The method may also include generating a prediction for a criteria of interest for at least one of the one or more criteria of interest for at least one of the one or more objects, wherein the a prediction for a criteria of interest is generated based on at least one of tag location data, derived tag location data or the like for the one or more objects related to the one or more criteria of interest. An associated apparatus, computer program product and system are also provided.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority from and the benefit of the filing date of U.S. Provisional Patent Application No. 61/831,990 filed Jun. 6, 2013, the contents of which is incorporated by reference in its entirety herein.

TECHNOLOGICAL FIELD

An example embodiment of the present invention generally relates to predictive analytics and more particularly, to a prediction system configured to provide users with analytics based upon tag location data, derived tag location data or the like.

BACKGROUND

Location based services allow for a user to identify the location of a particular user, tag, and/or object. In addition, various analytics may be determined based upon location data of an object, such as an athlete's location during a game. Predicting future athletic performances based upon past athletic performances has been difficult as prior art systems have lacked particular performance and/or tag location data. Through applied effort, ingenuity and innovation, Applicant has solved many of these identified problems by developing a solution that is embodied by the present invention, which is described in detail below.

BRIEF SUMMARY

A method, apparatus, computer program product, and system therefore provide for predicting analytics and providing tag location data based upon tag location data, derived tag location data, statistical data or the like corresponding to an object. As is described in more detail herein, some example embodiments are configured to generate or otherwise receive tag location data, derived tag location data or the like for a particular object. The object may be associated with one or more entities, such as a title, role, a team, an opponent and/or the like. The object may also be related to one or more statistical outcomes received from an external source or generated based on the tag location data, derived tag location data or the like. As such, based upon the object, the characteristics of the object, associations of the object, one or more statistical outcomes for the object and/or the like, a model may be trained or a set or rules developed. Such a model or set of rules, in some example embodiments, may be used to provide one or more predictions of object future performance or indications of how an object should have performed for a given criteria of interest.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Having thus described example embodiments of the present disclosure in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:

FIG. 1 illustrates a schematic representation of a system configured to provide tag location data according to an example embodiment of the present invention;

FIG. 2A illustrates a schematic representation of a radio frequency locating system useful for determining the location of an object according to an example embodiment of the present invention;

FIG. 2B illustrates an exemplary object carrying tags and sensors that may provide information in accordance with some embodiments of the present invention;

FIG. 3 illustrates a flow chart detailing operations performed by a system configured to generate tag location data, derived tag location data or the like according to an example embodiment of the present invention;

FIG. 4 illustrates a flow chart detailing operations performed by a system configured to provide tag location data according to an example embodiment of the present invention;

FIGS. 5 and 6 illustrate flow charts detailing operations performed by a system configured to provide a prediction for a criteria of interest according to an example embodiment of the present invention; and

FIG. 7 illustrates an interface configured to display tag location data provided by a system according to an example embodiment of the present invention.

DETAILED DESCRIPTION

Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Like reference numerals refer to like elements throughout.

As used herein, the terms “data,” “content,” “information” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Moreover, the term “exemplary”, as may be used herein, is not provided to convey any qualitative assessment, but instead merely to convey an illustration of an example. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.

The term “computer-readable medium” as used herein refers to any medium configured to participate in providing information to a processor, including instructions for execution. Such a medium may take many forms, including, but not limited to a non-transitory computer-readable storage medium (e.g., non-volatile media, volatile media), and transmission media. Transmission media include, for example, coaxial cables, copper wire, fiber optic cables, and carrier waves that travel through space without wires or cables, such as acoustic waves and electromagnetic waves, including radio, optical and infrared waves. Signals include man-made transient variations in amplitude, frequency, phase, polarization or other physical properties transmitted through the transmission media. Examples of non-transitory computer-readable media include a magnetic computer readable medium (e.g., a floppy disk, hard disk, magnetic tape, any other magnetic medium), an optical computer readable medium (e.g., a compact disc read only memory (CD-ROM), a digital versatile disc (DVD), a Blu-Ray disc, or the like), a random access memory (RAM), a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), a FLASH-EPROM, or any other non-transitory medium from which a computer can read. The term computer-readable storage medium is used herein to refer to any computer-readable medium except transmission media. However, it will be appreciated that where embodiments are described to use a computer-readable storage medium, other types of computer-readable mediums may be substituted for or used in addition to the computer-readable storage medium in alternative embodiments.

Additionally, as used herein, the term ‘circuitry’ refers to (a) hardware-only circuit implementations (for example, implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of ‘circuitry’ applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term ‘circuitry’ also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware.

As indicated above, some embodiments of the present invention may be employed in methods, apparatuses, systems and computer program products configured to advantageously provide a prediction for a criteria of interest for one or more objects, one or more groups of objects or the like. In some examples, a prediction for a criteria of interest may be generated from or otherwise be a function of tag location data, derived tag location data, statistical data or the like. For example, embodiments of the present invention may advantageously provide for predicting a prediction for a criteria of interest (i.e., predicting potential performance metrics or the like) for an object, such as a football player, based upon tag location data, derived tag location data, statistical data or the like corresponding to the object and/or one or more potential outcomes for the object.

In one example embodiment, a system may advantageously provide a prediction for a criteria of interest of a future performance, such as a football player's future performance (or data on a how a player should have performed) based upon data corresponding to the football player's past performances, performances of other players similar to the football player, characteristics of the opposition, climate characteristics, contextual data, tag location data, derived tag location data, statistical results of the player or similar players, the player's health history data, player equipment characteristic data, and/or any data that may have a material effect on the player's performance and the like. For example, data corresponding to a football player's past performance against a particular team at a particular location may be used to determine the player's performance against the same or similar team at the same or similar location. Additionally, performance of a player with similar characteristics (e.g., height, weight, speed, strength or the like) may also be used to provide predictive analytics for how a particular object might perform. Accordingly, embodiments described herein may provide a prediction for a criteria of interest based upon previous tag location data, derived tag location data, statistical data or the like corresponding to a particular object.

In some example embodiments and in order to provide predictive analytics, the methods, apparatus, systems and computer program products may be configured to generate or otherwise access information relating to a particular object. Object information may include, but is not limited to, organization, name, role, title, statistics, protective equipment, years of experience, college, location, hometown and the like. The object information, in some examples, may be filtered based on external factors such as, but not limited to, time of year, climate, opponent or the like or may include, but is not limited to, impact data, route running data, movement data, speed data, acceleration data, body pose data and/or the like.

Statistical data may be generated by combining a portion or all of the tag location data for one or more objects or may be received from one or more users. In some example embodiments, a portion of the statistical data may be used to train and/or test a model in conjunction with tag location data and derived tag location data (e.g. one or more particular types of tag location data). For example, the model may be configured to determine one or more patterns that are suggestive of a particular result. In some examples, patterns may be generated or otherwise detected based on characteristics, external factors, associations and/or the like.

In some examples, training the model may include historical statistical model and may further include defining relationships between two or more fields of statistical data in a database, date store or the like. In other words, the model may be defined such that an outcome field is dependent (e.g., dependent variable) on one or more other fields (e.g. independent variables). For example, a play outcome (e.g., play outcome data) could be not targeted, targeted, or caught. Independent variables could vary at each time epoch, and could include statistical data or derived tag location data (e.g., formation, play, relative position to ball, relative position to quarterback, relative position to adversary, speed, velocity, acceleration, height and/or the like). In some examples, derived tag location data may be based on a single time epoch where other examples the derived tag location data may be based on two or more time epochs.

As such, derived location data, such as velocity, can be compared to play outcome data, such as a catch, to determine whether a pattern exists. If so, the model may be trained to look for such a pattern and apply the pattern to future velocity measurements for a particular object.

In some example embodiments, criteria of interest may be established for the purpose of evaluating the tag location data, derived tag location data, statistical data or the like as a basis for generating data prediction. For example, criteria of interest (e.g., type of outcome to be predicted) may include certain performance related items, such as targeted, not targeted, catches, drops, play outcomes (e.g., the result of a particular play, a catch, a drop, a run, a pass or the like) in the form of play outcome data, the longest run, the fastest player, the longest throw, predicted completion percentage or the like for a particular game, group of games or a season.

According to some example embodiments, criteria of interest may include information corresponding to an athlete with the ability to start moving and stop moving the quickest, vertical jump, sprint times, an athlete with the ability to perform at a specific level in certain climate and/or environmental conditions and/or an athlete with the ability to perform at a specific level despite a predicted loss of ability to perform at the specified level (e.g., a player able to still score points commensurate with a high stamina level even when the player has a low stamina level, a player able to run at a particular speed even though injured, etc.). In some example embodiments, statistical data, tag location data or the derived tag location data may be used and/or tracked in real time and the related or applied predictive mode may be used for informative purposes, to enable decisions to be made and/or to make or alter predictions related to an object or group of objects.

In further example embodiments, criteria of interest and object information may be used as inputs to the trained model. As such, based on the object and particular criteria, the model may provide a prediction of a particular statistical output or play outcome. For example, the model may provide a prediction of a running back's total rushing yards in an upcoming game or an indication of a probability of rushing yards for an object in a particular game exceeding 100 yards. Alternatively or additionally, in other examples, the model may be configured to measure an object/participant's performance (e.g., speed) for the current play and using that as an independent variable to predict play outcome (e.g., catch, drop, etc.). In other examples, the model may be used to predict particular results as a function of the arm strength of a quarterback, 40-yard dash speed of a linebacker or the like, such as based on a combine, tryout or the like.

One example may comprise:

Tag Location Play Data Role Play Outcome Object ID 1 10 WR Targeted A1 2 11 WR Catch A1 3 8 WR Not targeted A1 4 10 WR Catch A1

In some examples, play outcomes (or play outcome data) may be aggregated in the form of performance data (e.g., plays 4, targeted 3, catch 2 using the above referenced table). In some examples, the system and method described herein may use particular tag location data or derived tag location data to generate a prediction. For example, tag location data equal to 8 may suggest that the likelihood a play occurred is 100%, object was targeted 75% and catch 50%. Whereas tag location data equal to or greater than 10 may suggest that the likelihood a play occurred is 100%, object was targeted 100% and catch 67%. Event predictions may also be made (e.g., total plays 28, targeted 21, catch 14 and/or the like)

FIG. 1 illustrates a system configured to determine tag location data for an object. In this regard, the system 100 may include an example communication architecture, which may include one or more devices and/or sub-systems that are configured to implement the example embodiments discussed herein. For example, an object or participant may possess a tag 102, such as an ultra-wide band tag, a near-field communication tag, a sensor (e.g., thermometer, accelerometer, proximity sensor, etc.), a GPS tracking device and/or other tracking devices, or the like configured to communicate with at least one receiver 106. The tag 102 may be configured to communicate with the at least one receiver on an ultra-wide band (UWB) frequency. Although FIG. 1 illustrates a single tag, one of ordinary skill in the art may appreciate in light of this disclosure that an object may possess any number of tags. Further, the system 100 may be configured to predict a particular criteria of interest of any number of objects possessing any number of tags. In addition, the at least one tag 102 may be configured to communicate with the at least one receiver(s) 106 wirelessly, as described in greater detail herein and with respect to FIG. 2A. The at least one receiver(s) 106 may be configured to communicate with a receiver hub 108, which is configured to output at least object location data for a particular object to processor 155 of a receiver processing and distribution system 110, as discussed in further detail below. According to some embodiments, the receiver hub 108 may be configured to receive an input from the at least one of the receiver(s) 106 corresponding to at least object location data for a particular object.

The receiver processing and distribution system 110 illustrated in FIG. 2A may include a predictive data engine 112. The receiver processing and distribution system 110 and/or the predictive data engine 112 may include, for example, a processor 155, a memory 158, storage 160 (e.g., tag location data, derived tag location data, play outcome data and/or the like), at database 162A, 162Z, an object information data storage 170, at least one object information database 172A, 172Z, and statistical data 180.

The predictive data engine 112 may take the form of any suitable network server and/or other processing device, such as a computer, tablet computer, smartphone, and/or the like. The at least one database 162A and the at least one object information database 172A can be any suitable network database configured to store tag location data, derived tag location data or the like and association data respectively. In addition, the database 162A and/or the object information database 172A may be configured to store data corresponding to a relationship between at least one object and at least one association. For example, the tag location data, derived tag location data or the like database and/or the association data database may also be configured to store data corresponding to a relationship between at least one object and at least one association/correlation, such as a relationship between a football player and the player's current team, a football player and the player's past teams, a football player and the opposing team of a current football game, a football player and the opposing team in past games, and the like. According to some embodiments, the tag location data, derived tag location data or the like database and/or the association data database may be configured to store data corresponding to a relationship between at least one object and at least one association, such as the relationship between the football player and a particular climate, environment, using particular equipment, playing on a particular day and/or time, and/or the like. In some example embodiments, statistics (e.g., total yards, total catches, number of touchdowns, and/or the like) for a particular object may be stored in the statistical data 180. In some examples, statistical data may be historical statistical data whereas in other examples statistical data is real time statistical data or near real time statistical data. In further examples, statistical data may be limited to data that describes one or more known metrics that track the performance of a player on the field as captured by a human, whereas in other examples statistical data may be derived from tag location data or the derived tag location data.

Although some embodiments described herein relate to a system for predicting analytics for American Football, such as for a football player, based upon tag location data, derived tag location data, statistical data or the like, one of ordinary skill in the art may appreciate the system may be employed for predicting analytics based upon any type of tag location data, derived tag location data, statistical data or the like. For example, the system may be employed for predicting analytics corresponding to other sports based upon aggregate data. In another embodiment, the system may be employed for predicting analytics corresponding to agricultural needs based upon aggregate data. For example, the system may be used to predict analytics, such as a cow's ability to produce milk, based upon aggregate data, such as the cow's past milk production, the cow's movement, the climate, the environment, the cow's diet, and/or the like.

Although FIG. 1 illustrates multiple databases, one of skill in the art may appreciate that a single database may be employed that may be configured to store the tag location data, derived tag location data or the like, association data and/or the statistical data. According to some embodiments, the database(s) may employ a structured storage feature, which may provide a mechanism for storage and retrieval of data that transcends the constraints of a traditional relational database, such as a database that allows for the use of SQL-like query language. In some embodiments, the database(s) illustrated in FIG. 1 may include a NoSQL database. Additionally and/or alternatively, the database(s) of FIG. 1 may be deployed as a series of separate, but related, storage units that may be spread across geographically dispersed storage and processing devices (e.g., storage units displaced by a distance from one another such as a first storage unit in the vicinity of San Francisco, Calif. and another in the vicinity of Detroit, Mich.). In this regard, the predictive data engine 112 may include, for example, at least one backend data server, network database, cloud computing device, among other things. According to some embodiments, the predictive data engine 112 may include, for example, a Hadoop-like file system and/or software framework, which may consist of data intensive distributed applications, distributed files, and/or structured storage. In addition, the receiver processing and distribution system 110 may be configured to communicate with a user interface 190, which may be configured to display a prediction for a criteria of interest of an object determined by the predictive data engine 112. In some examples, the predictive analytic data may be displayed or otherwise transmitted to another device in real time or in near real time (e.g., before a next play, etc.).

As shown in FIG. 2A, an object, such as a football player, may possess a tag 102, such as a tag 102 illustrated in FIG. 1. The football player may have a tag 102 incorporated into the player's equipment, such as a helmet, protective gear, clothing, and/or the like. In addition, an environment, such as a football field illustrated in FIG. 2A, may include a plurality of receivers 106 configured to communicate with the plurality of tags 102 associated with each of the respective objections (e.g., players, participants, referees, the ball and/or the like). In some embodiments, a plurality of receivers 106 may also be configured to communicate with a reference tag 204. Accordingly, the receivers may be configured to communicate with a receiver hub 108, which may be configured to communicate with a receiver processing and distribution system 110. In some embodiments, the receiver processing and distribution system 110 may include a prediction for criteria of interest system, such as the predictive data engine 112 illustrated in FIG. 1.

As such, the predictive data engine 112, as illustrated in FIG. 1, may be configured to receive tag location data corresponding to a particular object that may be provided by the plurality of receivers. Although FIGS. 1 and 2A illustrate a predictive data engine configured to receive tag location data corresponding to a location of a tag, one of ordinary skill in the art may appreciate that any number and types of sensors may be utilized to capture tag location data or other real time or near real time metrics that correspond to the object, such as heart rate monitors, accelerometers, gyroscopes, pedometers, thermometers and/or the like.

Referring to FIG. 2A, FIG. 2A illustrates a radio frequency locating system useful for determining the location of an object (e.g. a football player on a football field) by determining RF location tag 102 (e.g., a ultra-wide band (UWB) location tag) location information at each receiver 106 (e.g., UWB reader, etc.); a timing reference clock to synchronize the frequency of counters within each receiver 106; and, in some examples, a reference tag 104, preferably a UWB transmitter, positioned at known coordinates to enable phase offset between counters to be determined. The systems described herein may be referred to as either “multilateration” or “geolocation” systems; terms which refer to the process of locating a signal source by solving for the mathematical intersection of multiple hyperbolae determined by the difference of arrival times of a signal received at multiple receivers.

In some examples, the system comprising at least the tags 102 and the receivers 106 is configured to provide two dimensional and/or three dimensional precision localization (e.g., subfoot resolutions), even in the presence of multipath interference, due in part to the use of short nanosecond duration pulses whose time-of-flight can be accurately determined using detection circuitry, such as in the receivers 106, which can trigger on the leading edge of a received waveform. In some examples, this short pulse characteristic allows necessary data to be conveyed by the system at a higher peak power, but lower overall power levels, than a wireless system configured for high data rate communications, yet still operate within local regulatory requirements which may limit overall power levels.

The tag signal transmitted from RF location tag 102 to receiver 106 may include “blink data” as it is transmitted at selected intervals. This “blink rate” may be set by the tag designer or the system designer to meet application requirements. In some embodiments it is consistent for one or all tags; in some embodiments it may be data dependent. Blink data includes characteristics of the tag signal that allow the tag signal to be recognized by the receiver 106 so the location of the RF location tag 102 may be determined by the locating system. Blink data may also comprise one or more tag data packets. Such tag data packets may include any data from the tag 102 that is intended for transmission such as, for example in the depicted embodiment, a tag UID, tag data, and a tag-individual correlator. In the case of TDOA systems, the blink data may be or include a specific pattern, code, or trigger that the receiver 106 (or downstream receiver processing and analytics system) detects to identify that the transmission is from a RF location tag 102 (e.g., a UWB tag).

In some examples, the tags 102 may operate with an instantaneous −3 dB bandwidth of approximately 400 MHz and an average transmission rate below a 187.5 kHz regulatory cutoff. In such examples, the predicted maximum range of the system, operating at 6.0 GHz, is roughly 311 meters. Such a configuration advantageously satisfies constraints applied by regulatory bodies related to peak and average power densities (e.g., effective isotropic radiated power density), while still optimizing system performance related to range and interference. In further examples, tag transmissions with a −3 dB bandwidth of approximately 400 MHz yields, in some examples, an instantaneous pulsewidth of roughly 2.5 nanoseconds which enables a resolution to better than 30 centimeters.

Referring again to FIG. 2A, the object to be located has an attached RF location tag 102, preferably a tag having a UWB transmitter, that transmits a signal comprising a burst (e.g., 72 pulses at a burst rate of 1 Mb/s), and optionally, a burst having a tag data packet that may include tag data elements that may include, but are not limited to, a tag unique identification number (tag UID), other identification information, a sequential burst count, stored tag data, or other desired information for object or personnel identification, inventory control, etc. In some embodiments, the tag data packet may include a tag-individual correlator that can be used to associate a specific individual (e.g., participant) with a specific tag. In some examples, the sequential burst count (e.g., a packet sequence number) from each tag 102 may be advantageously provided in order to permit, at a receiver hub 108, correlation of time of arrival (TOA) measurement data from various receivers 106.

In some examples, the RF location tag 102 may employ UWB waveforms (e.g., low data rate waveforms) to achieve extremely fine resolution because of their extremely short pulse (i.e., sub-nanosecond to nanosecond, such as a 2 ns (1 ns up and 1 ns down)) durations. As such, the tag data packet may be of a short length (e.g., 72-112 bits in some example embodiments), that advantageously enables a higher throughput and higher transmission rates. In some examples, higher throughput and/or higher transmission rates may result in larger datasets for filtering to achieve a more accurate location estimate. In some examples, rates of up to approximately 2600 updates per second can be accommodated without exceeding regulatory requirements. Alternatively or additionally, in some examples, the length of the tag data packets, in conjunction with other system functionality, may also result in a longer battery life (e.g., a 3.0 v 1 A-hr lithium cell battery may result in a tag battery life in excess of 3.8 years).

In some examples, one or more other tags, such as a reference tag 104, may be positioned within and/or about a monitored area or zone, such as monitored area 100 illustrated herein as a football field. In some examples, the reference tag 104 may be configured to transmit a signal that is used to measure the relative phase (e.g., the count of free-running counters) of non-resettable counters within the receivers 106.

One or more (preferably four or more) receivers 106 are also at locations with predetermined coordinates within and/or around the monitored area 100. In some examples, the receivers 106 may be connected in a “daisy chain” fashion to advantageously allow for a large number of receivers 106 to be interconnected over a significant monitored area in order to reduce and simplify cabling, reduce latency, provide power and/or the like. Each of the receivers 106 includes a receiver for receiving transmissions, such as UWB transmissions, and preferably, a packet decoding circuit that extracts a time of arrival (TOA) timing pulse train, transmitter ID, packet number and/or other information that may have been encoded in the tag transmission signal (e.g., material description, personal information, etc.) and is configured to sense signals transmitted by the tags 102 and one or more reference tags 104 (if present).

Each receiver 106 includes a time measuring circuit that measures time differences of arrival (TDOA) of tag bursts. The time measuring circuit is phase-locked (e.g., phase differences do not change and therefore respective frequencies are identical) with a common digital reference clock signal distributed via cable connection from a receiver hub 108 having a central timing reference clock generator. The reference clock signal establishes a common timing reference for the receivers 106. Thus, multiple time measuring circuits of the respective receivers 106 are synchronized in frequency, but not necessarily in phase. While there typically may be a phase offset between any given pair of receivers in the receivers 106, the offset is readily determined through use of a reference tag 104. Alternatively or additionally, each receiver may be synchronized wirelessly via virtual synchronization without a dedicated physical timing channel.

In some example embodiments, the receivers 106 are configured to determine various attributes of the received signal. Since measurements are determined at each receiver 106, in a digital format, rather than analog, measurements are transmittable to the receiver hub 108. Advantageously, because packet data and measurement results can be transferred at high speeds to a receiver memory, the receivers 106 can receive and process tag (and corresponding object) locating signals on a nearly continuous basis. As such, in some examples, the receiver memory allows for a high burst rate of tag events (i.e., tag data packets) to be captured.

Data cables or wireless transmissions may convey measurement data from the receivers 106 to the receiver hub 108 (e.g., the data cables may enable a transfer speed of 2 Mbps). In some examples, measurement data is transferred to the receiver hub at regular polling intervals.

As such, the receiver hub 108 determines or computes tag location (i.e., object location) by processing TDOA measurements related to multiple data packets detected by the receivers 106. In some example embodiments, the receiver hub 108 may be configured to resolve the coordinates of a tag using nonlinear optimization techniques. The receiver hub 108 may also be referred to herein as a locate engine or a receiver hub/locate engine.

In some examples, the system described herein may be referred to as an “over-specified” or “over-determined” system. As such, the receiver hub 108 may then calculate one or more valid (i.e., most likely) locations based on a set of measurements and/or one or more incorrect (i.e., less likely) locations. For example, a location may be calculated that is impossible due the laws of physics (e.g., a tag on a football player that travels more than 100 yards in 1 second) or may be an outlier when compared to other locations. As such one or more algorithms or heuristics may be applied to minimize such error.

One such algorithm for error minimization, which may be referred to as a time error minimization algorithm, may be described as:

$ɛ = {\sum\limits_{j = 1}^{N}{\sum\limits_{k = {j + 1}}^{N}\left\{ {\left( {t_{j} - t_{k}} \right) - {\frac{1}{c}\begin{bmatrix} {\left\lbrack {\left( {x - x_{j}} \right)^{2} + \left( {y - y_{j}} \right)^{2} + \left( {z - z_{j}} \right)^{2}} \right\rbrack^{\frac{1}{2}} -} \\ {\left\lbrack {\left( {x - x_{k}} \right)^{2} + \left( {y - y_{k}} \right)^{2} + \left( {z - z_{k}} \right)^{2}} \right\rbrack^{\frac{1}{2}}\;} \end{bmatrix}}} \right\}^{2}}}$

where N is the number of receivers, c is the speed of light, x_(j,k), y_(j,k) and z_(j,k) are the coordinates of the receivers and t_(j,k) are the arrival times received at each of the receivers. Note that only time differences may be evaluated at hub 108 in some example embodiments. The starting point for the minimization may be obtained by first doing an area search on a coarse grid of x, y and z over an area defined by the user and followed by a localized steepest descent search.

Another or second algorithm for error minimization, which may be referred to as a distance error minimization algorithm, may be defined by:

$ɛ = {\sum\limits_{j = 1}^{N}\left\lbrack {\left\lbrack {\left( {x - x_{j}} \right)^{2} + \left( {y - y_{j}} \right)^{2} + \left( {z - z_{j}} \right)^{2}} \right\rbrack^{\frac{1}{2}} - {c\left( {t_{j} - t_{0}} \right)}} \right\rbrack^{2}}$

where time and location differences are replaced by their non-differential values by incorporating an additional unknown dummy variable, t₀, which represents an absolute time epoch. The starting point for this algorithm is fixed at the geometric mean position of all active receivers. No initial area search is needed, and optimization proceeds through the use of a Davidon-Fletcher-Powell (DFP) quasi-Newton algorithm in some examples. In other examples, a steepest descent algorithm may be used.

In order to determine the coordinates of a tag (T), in some examples and for calibration purposes, a reference tag (e.g., reference tag 104) is positioned at a known coordinate position (x_(T), y_(T), z_(T)).

In further example embodiments, a number N of receivers {R_(j): j=1, . . . , N} (e.g., receivers 106) are positioned at known coordinates (x_(R) _(j) , y_(R) _(j) , z_(R) _(j) ), which are respectively located at distances, such as:

d _(Rj)=√{square root over ((x _(Rj) −x _(τ))²+(y _(Rj) −y _(τ))²+(z _(Rj) −z _(τ))²)}{square root over ((x _(Rj) −x _(τ))²+(y _(Rj) −y _(τ))²+(z _(Rj) −z _(τ))²)}{square root over ((x _(Rj) −x _(τ))²+(y _(Rj) −y _(τ))²+(z _(Rj) −z _(τ))²)}

from a reference tag.

Each receiver R_(j) utilizes, for example, a synchronous clock signal derived from a common frequency time base, such as clock generator. Because the receivers are not synchronously reset, an unknown, but constant offset O_(j) exists for each receiver's internal free running counter. The value of the offset O_(j) is measured in terms of the number of fine resolution count increments (e.g., a number of nanoseconds for a one nanosecond resolution system).

The reference tag is used to calibrate the radio frequency locating system as follows:

The reference tag emits a signal burst at an unknown time τ_(R). Upon receiving the signal burst from the reference tag, a count N_(R) _(j) as measured at receiver R_(j) is given by

N _(i) _(j) =βτ_(r) +O _(j) +βd _(R) _(j) /c

where c is the speed of light and β is the number of fine resolution count increments per unit time (e.g., one per nanosecond). Similarly, each object tag T_(i) of each object to be located transmits a signal at an unknown time τ_(i) to produce a count

N _(i) _(j) =βτ_(i) +O _(j) +βd _(i) _(j) /c

at receiver R_(j) where d_(i) _(j) is the distance between the object tag T_(i) and the receiver at receiver R_(j). Note that τ_(i) is unknown, but has the same constant value for receivers of all receivers R_(j). Based on the equalities expressed above for receivers R_(j) and R_(k) and given the reference tag information, differential offsets expressed as differential count values are determined as follows:

${N_{R_{j}} - N_{R_{k}}} = {\left( {O_{j} - O_{k}} \right) + {\beta \left( {\frac{d_{R_{i}}}{c} - \frac{d_{R_{k}}}{c}} \right)}}$ ${{or}\left( {O_{j} - O_{k}} \right)} = {{\left( {N_{R_{j}} - N_{R_{k}}} \right) - {\beta\left( {\frac{d_{R_{j}}}{c} - \frac{d_{R_{k}}}{c}} \right)}} = \Delta_{j_{k}}}$

Δ_(jk) is constant as long as d_(Rj)−d_(Rk) remains constant, (which means the receivers and tag are fixed and there is no multipath situation) and β is the same for each receiver. Note that Δ_(j) _(k) is a known quantity, since N_(R) _(j) , N_(R) _(k) , β, d_(R) _(j) /c, and d_(R) _(k) /c are known. That is, the differential offsets between receivers R_(j) and R_(k) may be readily determined based on the reference tag transmissions. Thus, again from the above equations, for an object tag (T_(i)) transmission arriving at receivers R_(j) and R_(k):

N _(i) _(j) −N _(i) _(k) =(O _(j) −O _(k))+β(d _(i) _(j) /c−d _(i) _(k) /c)=Δ_(j) _(k) +β(d _(i) _(j) /c−d _(i) _(k) /c)

or,

d _(i) _(j) −d _(i) _(k) =(c/β)[N _(i) _(j) −N _(i) _(k) −Δ_(j) _(k) ],

The process further includes determining a minimum error value E_(i), for each object tag T_(i), according to the functional relationship:

$E_{i} = {\min\limits_{({x,y,z})}{\sum\limits_{j}{\sum\limits_{k > j}\left\lbrack {\left( {d_{i_{j}} - d_{i_{k}}} \right) - \left( {{{dist}\left( {T_{x,y,z},R_{j}} \right)} - {{dist}\left( {T_{x,y,z},R_{k}} \right)}} \right)} \right\rbrack^{2}}}}$ ${{where}\mspace{14mu} {{dist}\left( {T_{x,y,z},R_{j}} \right)}} = \sqrt{\left( {x_{R_{j}} - x} \right)^{2} + \left( {y_{R_{j}} - y} \right)^{2} + \left( {z_{R_{j}} - z} \right)^{2}}$

is the Euclidean distance between point (x,y,z) and the coordinates of the j^(th) receiver R_(j). The minimization solution (x′,y′,z′) is the estimated coordinate location for the i^(th) tag at t₀.

In an example algorithm, this proceeds according to:

$ɛ = {\sum\limits_{j = 1}^{N}\left\lbrack {\left\lbrack {\left( {x - x_{j}} \right)^{2} + \left( {y - y_{j}} \right)^{2} + \left( {z - z_{j}} \right)^{2}} \right\rbrack^{\frac{1}{2\;}} - {c\left( {t_{j} - t_{0}} \right)}} \right\rbrack^{2}}$

where each arrival time, t_(j), is referenced to a particular receiver (receiver “1”) as follows:

$t_{j} = {\frac{1}{\beta}\left( {N_{j} - N_{1} - \Delta_{j_{k}}} \right)}$

and the minimization is performed over variables (x,y,z,t₀) to reach a solution (x′,y′,z′,t₀′).

In some example embodiments, the location of a tag 102 may then be output to a receiver processing and distribution system 110 for further processing of the location data to advantageously provide visualizations, predictive analytics, statistics and/or the like.

The exemplary radio frequency locating system of FIGS. 1 and 2A may be used in providing predictions for a criteria of interest in accordance with some example embodiments of the present invention. In the environment of FIG. 2A, tag location data may be captured and analyzed, such as during a sporting event to identify events, statistics, and other data useful to a sports team, league, viewer, licensee, or the like. In some embodiments, tag location (e.g., a sport team may use the events and statistics for future games, training, teaching or the like), league (e.g., a league may publish statistical data, license data to media outlets or the like), viewer (e.g., may use the events and statistics to enrich a viewing experience, fantasy football, wagering or the like), licensee (e.g., a third party company may license the use of the statistics and/or events to enrich a game cast, enrich an application that provides other statistical and event data, may be used to generate news articles and/or the like), or the like. In some embodiments, data associated with a number of objects (e.g., players, officials, balls, game equipment, etc.) on a playing field, such as monitored region 200, may be generated and provided to a predictive analytics system, such as predictive data engine 112. As such, as further discussed in connection with FIG. 2B below, each object may have one or more attached (such as to equipment worn by a player) tags 102 to provide, to the predictive analytics system, useful data about the object, location and derive tag location data such as change of location, speed, or the like. In some embodiments, additional sensors, such as accelerometers, gyroscopes, health sensors, temperature sensors, moisture sensors, light sensors, or the like, may be attached to each object to provide further data to the predictive analytics system. Such additional sensors may provide data to the tag 102, either through a wired or wireless connection, to be transmitted to the receivers 106 or the sensors may be configured to transmit data directly to receivers.

In some embodiments, multiple tags 102 (as well as other sensors) may be attached to the equipment worn by an object, such as an individual player or official. The receiver processing and distribution system 110 may use a database to associate the tag unique identification number (tag UID) of each tag 102 with each player, official, or other object and correlate the tag location data and/or other data for multiple tags 102 that are associated with a particular player, official, or other object.

FIG. 2B illustrates an exemplary object that may provide information to a predictive analytics system in accordance with some embodiments of the present invention. FIG. 2B illustrates a player 252 (e.g., a football player) wearing equipment having attached tags 102 in accordance with some embodiments. In particular, the depicted player 252 is wearing shoulder pads having tags 102 affixed to opposite sides thereof. This positioning advantageously provides an elevated broadcast position for each tag 102 thereby increasing its communication effectiveness.

Additional sensors 254 may be attached to equipment worn by player 252, such as accelerometers, health monitoring sensors (e.g., blood pressure sensors, heart monitors, respiration sensors, moisture sensors, temperature sensors), gyroscopes, light sensors, or the like. The additional sensors 254 may be affixed to shoulder pads, the helmet, the shoes, rib pads, elbow pads, the jersey, the pants, a bodysuit undergarment, gloves, arm bands, wristbands, and the like.

Sensors 254 may be configured to communicate with receivers (106 of FIG. 1) directly or indirectly through tags 102 or other transmitters. For example, in one embodiment, a sensor 254 may be connected, wired (e.g., perhaps through wires sewn into a jersey or bodysuit undergarment) or wirelessly, to tags 102 to provide sensor data to tags 102, which is then transmitted to the receivers 106. In another embodiment, a plurality of sensors (not shown) may be connected to a dedicated antenna or transmitter, perhaps positioned in the helmet, which may transmit sensor data to one or more receivers.

FIG. 3 illustrates a flowchart of an exemplary process for predicting a criteria of interest, using a locating system in accordance with some embodiments of the present invention. An exemplary method, such as process 300, may be executed by one or more devices (some examples of which are discussed in connection with FIGS. 1 and 2A). The process may start at 302, where tag location data is received for one or more of the tags 102. Additionally, in some embodiments, other sensor data, such as from sensors 204, may be received. The tags 102 (and sensors 204) may be attached to objects, such as to players, officials, balls, field markers, penalty flags, other game equipment, and reference markers on a field of play (e.g., boundary defining reference markers). In one embodiment, each object may be associated with one or more tags 102 (e.g., multiple tags 102 may be attached to an individual player's equipment, such as to provide more accurate location and multi-dimensional location or orientation data).

At 304, a filter, such as a filter in the receiver processing and distribution system 110 or the predictive data engine 112 may process the tag location data to identify tags 102 that are associated and/or otherwise correlated with a given object (e.g., multiple tags attached to a player, a ball, an official, etc.). The filter may correlate the tag location data associated with multiple tags 102 where the multiple tags 102 are associated with the same object (e.g., player or official), such as to provide more accurate data regarding the activities of the object.

At 306, the predictive data engine may compare the tag identifier (e.g., a tag ID, tag UID or the like) to a database of player roles to determine the associated player (e.g., a player profile) and role. In some example embodiments, the predictive data engine may use the tag location data, the player role data for each individual player (e.g., object information such as quarterback or center fielder), and player dynamics/kinetics models to determine player dynamics (e.g., multi-dimensional player location information) for each player, such as location. In other examples, the player dynamics/kinetics models may be used to generate derived tag location data, such as change in location, orientation, speed, velocity, acceleration, deceleration, or the like.

At 308, the predictive data engine may determine the likelihood that an event has occurred (e.g., particular play has formed, a play has started, a play is in progress, or a play has ended). In some embodiments, the predictive data engine may also receive an indication of the actions of game officials to further improve play determination accuracy. In some embodiments, the predictive data engine may also receive tag-derived data associated with a ball, a sideline, and/or the like to assist in generating play data.

At 310, predictive data engine may generate a stream of tag location data, derived tag location data, play outcome data, events and statistics for the game, the players, and the teams or the like to perform analytics, operations, or the like.

FIG. 4 illustrates a method for generating predictive data for a criteria of interest according to some embodiments of the present invention. An exemplary method, such as process 400, may be executed by one or more devices (some examples of which are discussed in connection with FIGS. 1 and 2A). At 402, a prediction for a criteria of interest system, such as the predictive analytics data engine 112, may receive tag location data, derived tag location data or the like, such as the tag location data, derived tag location data or the like generated with respect to FIG. 3.

In some embodiments, an object, such as a football player, may possess a tag 102, as illustrated in FIG. 2B. The tag location data may be suggestive of an object behavior, an object movement, the participation of an object with respect to a particular event (e.g. a play), the proximity of one or more objects (e.g. a player and a ball), a play outcome and/or the like. For example, the tag location data may be usable to calculate the distance that a particular player carried the ball, the result of a particular play or the like. In other example embodiments, the tag location data, derived tag location data or the like may be suggestive of a distance traveled by an object, number of knock downs, location comparisons between opponents, location of an object in comparison to another object, path of travel of an object based on a predetermined path in a playbook or the like, speed of travel after a play and/or other metrics not otherwise tracked via conventional statistics. In other examples, other data, such as data from an accelerometer or a gyroscope may be indicative of a collision that may affect the object. In further examples, derived tag location data may include statistical data that changes over time, such as speed over the length of the game, elapsed time to return to a huddle, velocity of a movement, distance after contact or the like.

A predictive data engine may receive, in some examples, additional object information at 402 that corresponds to the object. In some embodiments, at 402, the predictive data engine may be configured to receive object information corresponding to an object name, object type or role, object information, object equipment, and/or the like. For example, a user may manually input object information via a user interface, such as the user interface 190 shown in FIG. 1, which corresponds to the object. According to one embodiment, a user may provide object information, such as a football player's name, the football player's location, the equipment the football player uses and/or wears, the football player's height, the football player's weight, the number of years the football player has played in a league, the name of the football player's college team, and/or the like. Additional information relating to registration of object data (e.g., a player to a particular tag) can be found in U.S. Provisional Patent Application No. 60/831,990 filed Jun. 6, 2013. Accordingly, the predictive data engine may be configured to receive object information corresponding to any number of characteristics associated with the object.

At 404, the predictive data engine may be configured to generate derived tag location data. At 406, the predictive data engine may be configured to define and/or determine associations for an object. Example associations include, but are not limited to, an association between the football player and the player's team, conference, division, and/or the like. In some embodiments, the predictive data engine may be configured to determine a relationship between objects using the tag location data, such as a relationship between the football player's location throughout the game and the football player's team, the opposing team, and/or the like. In other examples, associations may be determined based on derived tag location data (e.g. distance between an object and an opposing object, such as a defender). or other adversary.

At 408, the predictive data engine may be configured to define or otherwise receive at least one criteria of interest. The criteria of interest may include any number of metrics associated with the object. In some embodiments, the criteria of interest may include metrics corresponding to the performance of the object or similar objects, such as total yards traveled, number of plays, time on the field, or the like. In another example, the criteria of interest may be defined by performance metrics, such as a football player's performance (e.g., total rushing yards, total catches and/or the like). In another embodiment, the predictive data engine may be configured to define a plurality and/or a combination of various criteria of interest. For example, the criteria could be defined as number of plays, total yards traveled, total completions, time on the field and/or the like.

In some example embodiments, a user interface, such as the user interface 190 of FIG. 1, may be configured to receive an indication corresponding to a selection of one or more criteria of interest. According to some example embodiments, the user interface may be configured to provide a graphical representation of the data, a video enhanced with or combined with a data presentation, a graphical overlay of data onto a video and/or image, and/or the like (e.g., a video may show a distance between a receiver and a quarterback and a quarterback head position and highlight the receiver as a potential target based on a model). Accordingly, example embodiments may provide a system configured to define any number of criteria of interest that may correspond to any suitable metric or characteristic associated with the object.

At 410, the predictive data engine may be configured to predict criteria of interest. In some example embodiments, the predictive data engine may be configured to utilize a model, such as the model described with respect to FIGS. 5 and/or 6, to determine a prediction for a criteria of interest corresponding to the football player.

At 412, the predictive data engine may be configured to cause the prediction for a criteria of interest to be displayed on an interface, such as the user interface 190 shown in FIG. 1 and/or transmitted to another device for viewing. In some embodiments, a user interface configured to display tag location data may be displayed on a display 700, as illustrated in FIG. 7. Although FIG. 7 illustrates tag location data 702 displayed on a radar graph, the user interface may be configured to display tag location data in any suitable manner, such as heat maps, bar graphs, scatter plots, data listings and/or the like. In some embodiments, the graphical representation of the tag location data may be displayed as an avatar, a graphical representation of the data, a video enhanced with or combined with a data presentation, a graphical overlay of data onto a video and/or image, and/or the like.

FIG. 5 illustrates a method for generating a prediction for a criteria of interest according to some example embodiments of the present invention. An exemplary method, such as process 500, may be executed by one or more devices (some examples of which are discussed in connection with FIGS. 1 and 2A). At 502, tag location data for an object or a set of objects may be captured, such as by the predictive data engine. At 504, derived tag location data, statistical data, play outcome data or the like may be generated or otherwise accessed for the particular object or set of objects.

At 506, the tag location data, derived tag location data or the like for the object may be compared to a model that comprises tag location data, derived tag location data and/or the like and various play outcomes. Specifically, the predictive data engine may be configured to compare a tag location data, derived tag location data or the like for objects of a certain type (e.g., quarterbacks in the league) and a particular outcome against the tag location data, derived tag location data or the like for a particular object (e.g., quarterback for the current play) and the actual outcome. Such a comparison may generate an indication of how a particular object performed in comparison to all objects of that type. An example of such a comparison is further shown with respect to tag location data, derived tag location data or the like 708 for an object and tag location data, derived tag location data, statistical data or the like 704 for one or more objects of that type of FIG. 7.

At 508, a prediction for the criteria of interest is generated as a function of the comparison. For example, using the tag location data, derived tag location data, statistical data or the like, the performance of a current object can be predicted. In one example, if a player (e.g., quarterback) had played in a certain number of plays and was on the field for a particular amount of time, a certain performance, such as number of completions (or completion percentage) could be predicted. Alternatively, in overtime, the player may have played worse than what was predicted, thus indicating a conditioning issue that could be addressed. According to some embodiments, a predictive analytic value may be generated for a specific quarterback based at least in part on a comparison of tag location data, derived tag location data or the like corresponding to the specific quarterback's performance in a game and tag location data, derived tag location data, statistical data or the like corresponding to the performances of all quarterbacks in all games within the league. In some embodiments, tag location data, derived tag location data, statistical data or the like may provide a component or an indication for determining a prediction for the criteria of interest. For example, if the tag location data, derived tag location data, statistical data or the like details an event (e.g., the quarterback threw a touchdown pass) occurred 100 times in 100 games, then the tag location data, derived tag location data, statistical data or the like may provide an indication and/or a component for determining a predictive analytic value corresponding to whether or not the quarterback will throw a touchdown in an upcoming game. In this regard, the tag location data, derived tag location data, statistical data or the like may provide an indication of a high probability that a particular event will occur in other games. Conversely, if the tag location data, derived tag location data, statistical data or the like details an event (e.g., the quarterback threw a touchdown pass) occurred 100 times in 10,000 games, then the tag location data, derived tag location data, statistical data or the like may provide an indication of a very low probability that the event will occur in other games. An example of such a value is further shown with respect to the a prediction for a criteria of interest 706 of FIG. 7.

As is shown in FIG. 6, some embodiments of the present invention may provide a method for training a model and then executing the model to generate a prediction for a criteria of interest. An exemplary method, such as process 600, may be executed by one or more devices (some examples of which are discussed in connection with FIGS. 1 and 2A). At block 602, the predictive data engine 112 may be configured to receive a dataset comprising tag location data, derived tag location data or the like. In further example embodiments, statistical data may also be optionally associated with the object. For example, the number of touchdowns, the number of completions, the number of knock downs, the number of sacks or the like may be associated with a particular object. As such, the tag location data, derived tag location data or the like may be compared to the statistical output or historical outcomes to determine one or more patterns that are suggestive of a particular outcome. In other examples, the tag location data, may be compared to the derived tag location data, statistical data or the like to determine one or more patterns that are suggestive of a particular outcome. In further example embodiments, data may be compared to any data collected, maintained and/or sourced that may correlate with any statistic, such as climate data, public sentiment data (i.e., the general public's sentiment towards a particular object), and/or gaming data, such as gambling data, fantasy football data, and/or the like. In some examples, statistical data alone may be used to generate the model.

At block 604, according to some embodiments, a pattern recognition algorithm may be used to process the input dataset in order to determine tag location, derived tag location data or the like, play outcomes for criteria of interest and/or metrics. In some example embodiments, determining may include classifying tag location data, derived tag location data or the like or the like as effecting or otherwise informative of a particular result (e.g., correlating independent variables to dependent variables). In some example embodiments, the model may additionally or alternatively be trained so that it may estimate a value of a particular criteria of interest and/or metric based on the tag location data, derived tag location data or the like and/or relationships between aggregated tag location data, derived tag location data or the like.

Cluster analysis and classification algorithms are two examples of pattern recognition algorithms that may be used to process the input dataset. In cluster analysis, an input dataset may be classified into one of several groups (clusters) of patterns. Patterns within the same cluster are likely to be more similar to each other than they are similar to patterns assigned to different clusters. A classification algorithm (i.e., classifier) maps an input dataset into one of several clusters within which the pattern is most likely similar. As such, one or more patterns in the tag location data, derived tag location data or the like may be determined, such patterns suggestive of a particular statistical outcome.

Machine learning is often used to develop a particular pattern recognition algorithm (i.e., a process for recognizing a particular pattern) that may be used for statistical inference. For example, a set of clusters may be developed using unsupervised learning, in which the number and respective sizes of the clusters are determined using calculations of similarity between features of the patterns for a previously collected training set of patterns. In another example, a classifier representing a particular categorization problem may be developed using supervised learning on a training set of patterns including known categorizations. Each training pattern is input to the classifier, and the difference between the output categorization and the known categorization is calculated. This difference calculated by the classifier is used to adjust the classifier coefficients to more accurately categorize the patterns. A classifier that is developed using supervised learning may also be known as a trainable classifier.

In some embodiments, predictive analysis includes data predictive classifier that takes tag location data, derived tag location data or the like as an input and produces an output that categorizes the particular tag location data, derived tag location data or the like in such a way to predict one or more statistical outcomes (e.g., prediction for a criteria of interest). In some examples, the model may be configured to generate a particular quantitative result, whereas in other example embodiments a range or threshold may be reported, whereas in further examples a particular play outcome may be predicted.

As is shown in block 606, tag location data, derived tag location data and/or object information may be provided along with particular criteria of interest. In some embodiments, the predictive data engine may be configured to determine tag location data associated with the object and the at least one criteria of interest based upon additional data that is not associated with the at least one criteria of interest. For example, the criteria of interest may be the number of rushing yards a player has accrued per game played at Denver, Colo., while the predictive data engine may be configured to determine a prediction for a criteria of interest from tag location data, derived tag location data, statistical data or the like associated with the number of rushing yards the player accrued per game at Miami, Fla. In this embodiment, the predictive data engine may be configured to determine a prediction for a criteria of interest using contextual data (i.e., such as the elevation relative to sea level at Miami, Fla.) associated with particular tag location data, derived tag location data or the like (i.e., the average number of rushing yards the football player accrued per game at Miami, Fla.) to determine a prediction for a criteria of interest (i.e., the predicted number of rushing yards the football player will amass during a game in Denver, Colo.) that corresponds with the particular criteria of interest.

In some embodiments, the predictive data engine may be configured to determine a predicted criteria of interest (e.g., to predict a fantasy football outcome), such as events, actions, and the like that created in a virtual and/or fantasy environment, but may also be analyzed against actual tag location data, derived tag location data or the like, such as a football player's performance. For example, fantasy data may correspond to a virtual player/athlete who is not an actual athlete, but is one who only exists within a fantasy environment. The fantasy data may correspond to actual data, events, actions, and the like, and may further include abilities and/or performance characteristics associated with actual player data, even though the virtual player does not exist and never acquired those abilities and/or performance characteristics. As such, the predictive data engine may be configured to determine a prediction for a criteria of interest using hypothetical and/or fantasy data for a virtual player (e.g., a fantasy football representation of an actual player, a video game representation or the like). In some embodiments, hypothetical and/or fantasy data may be applied to an actual player to predict how certain training stresses may increase a player's abilities and/or the like. were created in a virtual and/or fantasy environment. In some embodiments, the predictive analytic data engine may be configured to determine predictive analytic data using either or both actual object data, such as the football player's total yardage, and fantasy data, such as a video game statistic.

As shown in block 608, the tag location data, the derived tag location and/or the play outcome data may be provided to the model determined respect to block 604. In some example embodiments, one or more criteria of interest may also be provided to the model. The model then may compare received tag location data, derived tag location data or the like to its determined model, the comparison generating at least one predicted criteria of interest data for a particular object based on tag location data, derived tag location data or the like, and/or a relationship between the tag location data, derived tag location data or the like and at least one association.

In FIG. 7, the tag location data 702 may include a prediction for a criteria of interest 706. As described herein, the predictive data engine may be configured to determine a prediction for a criteria of interest based upon tag location data, derived tag location data, statistical data or the like. In addition, the predictive data engine may be configured to display, on a user interface, predictions corresponding to any number of criteria of interest. In one instance, the criteria of interest for a particular football quarterback may include the average number of plays per game in which the player participates, the player's performance score (e.g., quarterback rating, completion percentage, touchdowns vs. interceptions or the like), the average amount of time the player spends on the field during a game, the average number of turnovers the player has committed, and the average number of yards the player has thrown during the season. As shown in FIG. 7, tag location data 702 may further comprise tag location data, derived tag location data or the like 708 corresponding to the object.

In addition, although not shown in FIG. 7, the predictive data engine may be configured to cause a user interface to display the tag location data, derived tag location data or the like according to a criterion of interest. For example, the tag location data, derived tag location data or the like 708 illustrated in FIG. 7 may correspond to all tag location data, derived tag location data or the like collected for the particular player. In another instance, the tag location data, derived tag location data or the like 708 may correspond to tag location data, derived tag location data or the like collected for the particular player, such as all tag location data, derived tag location data or the like collected for the particular player in games against a particular opponent. In one example, tag location data, derived tag location data or the like 708 may correspond to tag location data, derived tag location data or the like collected for the particular player in all home games. In some embodiments, tag location data, derived tag location data or the like 708 may include data corresponding to players having similar characteristics, title, roles, titles, biometrics and/or the like.

Analytic data 702 may further comprise tag location data corresponding to tag location data, derived tag location data, statistical data or the like 704. For example, tag location data, derived tag location data, statistical data or the like 704 may comprise tag location data, derived tag location data or the like that corresponds to all objects in a system. Referring to FIG. 7, which illustrates tag location data corresponding to a football player, tag location data, derived tag location data, statistical data or the like 704 may correspond to tag location data, derived tag location data or the like corresponding to performances of other players having the same title or role as a football player of interest. In some instances, tag location data, derived tag location data, statistical data or the like 704 may correspond to tag location data, derived tag location data or the like corresponding to the average past performances of other players having the same title or role as the football player against the particular opponent analyzed in the a prediction for a criteria of interest 706.

According to some embodiments, the tag location data 702 may further comprise a prediction for a criteria of interest 706, which may correspond to a particular predictive performance for an object, such as a football player. For example, a prediction for a criteria of interest 706 may detail how a particular football player may perform or should have performed against a particular opponent based upon tag location data previously received by the a prediction for a criteria of interest system. In one instance, tag location data, derived tag location data or the like corresponding to a particular football player may be associated, not only with the football player's current team, but may also be associated with an opposing team. As such, the predictive data engine may be configured to determine tag location data, such as the a prediction for a criteria of interest 706, based upon tag location data, derived tag location data or the like associated with various associations, such as an opposing team. As such, the predictive data engine may be configured to cause a user interface to display a prediction for a criteria of interest 706 corresponding to an object (i.e., the football player) based at least upon the object's past performance associated with a particular association (i.e., an opposing team). In other words, the predictive data engine may be configured to receive data corresponding to a quarterback's performance against a particular opponent to determine and predict the quarterback's performance in an upcoming game against the particular opponent or how the quarterback should have performed.

Additionally and/or alternatively, the predictive data engine may be configured to determine and predict tag location data corresponding to a particular object based upon additional tag location data, derived tag location data or the like. For example, a prediction for a criteria of interest 706 may be based, not only on the tag location data, derived tag location data or the like 708 corresponding to a football player's past performances against the particular opponent, but may also be based upon additional tag location data, derived tag location data or the like, such as the football player's most recent performances against other opponents, the performance of other players having a similar title or role, the performance of other players against the particular opponent, and/or the like.

Referring again to FIG. 1, the receiver and distribution system 110 may comprise circuitry that may include various means, such as a processor 155, memory 158, user interface 190, the predictive data engine 112 and/or the like.

As referred to herein, “module” includes hardware, software and/or firmware configured to perform one or more particular functions. In this regard, the means of circuitry as described herein may be embodied as, for example, circuitry, hardware elements (e.g., a suitably programmed processor, combinational logic circuit, and/or the like), a computer program product comprising computer-readable program instructions stored on a non-transitory computer-readable medium (e.g., memory 158) that is executable by a suitably configured processing device (e.g., processor 155), or some combination thereof.

Processor 155 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated in FIG. 1 as a single processor, in some embodiments, processor 155 comprises a plurality of processors. The plurality of processors may be embodied on a single computing device or may be distributed across a plurality of computing devices collectively configured to function as circuitry. The plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of circuitry as described herein. In an example embodiment, processor 155 is configured to execute instructions stored in memory 158 or otherwise accessible to processor 155. These instructions, when executed by processor 155, may cause circuitry to perform one or more of the functionalities of circuitry as described herein.

Whether configured by hardware, firmware/software methods, or by a combination thereof, processor 155 may comprise an entity capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when processor 155 is embodied as an ASIC, FPGA or the like, processor 155 may comprise specifically configured hardware for conducting one or more operations described herein. As another example, when processor 155 is embodied as an executor of instructions, such as may be stored in memory 158, the instructions may specifically configure processor 155 to perform one or more algorithms and operations described herein.

Memory 158 may comprise, for example, volatile memory, non-volatile memory, or some combination thereof. Although illustrated in FIG. 1 as a single memory, memory 158 may comprise a plurality of memory components. The plurality of memory components may be embodied on a single computing device or distributed across a plurality of computing devices. In various embodiments, memory 158 may comprise, for example, a hard disk, random access memory, cache memory, flash memory, a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD-ROM), an optical disc, circuitry configured to store information, or some combination thereof. Memory 158 may be configured to store information, data, applications, instructions, or the like for enabling circuitry to carry out various functions in accordance with example embodiments discussed herein. For example, in at least some embodiments, memory 158 is configured to buffer input data for processing by processor 155. Additionally or alternatively, in at least some embodiments, memory 158 may be configured to store program instructions for execution by processor 155. Memory 158 may store information in the form of static and/or dynamic information. This stored information may be stored and/or used by circuitry during the course of performing its functionalities.

Communications module 192 may be embodied as any device or means embodied in circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., memory 158) and executed by a processing device (e.g., processor 155), or a combination thereof that is configured to receive and/or transmit data from/to another device, such as, for example, a second circuitry and/or the like. In some embodiments, communications module 192 (like other components discussed herein) can be at least partially embodied as or otherwise controlled by processor 155. In this regard, communications module 192 may be in communication with processor 155, such as via a bus. Communications module 192 may include, for example, an antenna, a transmitter, a receiver, a transceiver, network interface card and/or supporting hardware and/or firmware/software for enabling communications with another computing device. Communications module 192 may be configured to receive and/or transmit any data that may be stored by memory 158 using any protocol that may be used for communications between computing devices. Communications module 192 may additionally or alternatively be in communication with the memory 158 and/or any other component of circuitry, such as via a bus

Predictive analytics data engine 112 may also or instead be included and configured to perform the functionality discussed herein related to facilitating the determination of a prediction for a criteria of interest corresponding to an object, as discussed above. In some embodiments, some or all of the functionality related facilitating the determination of a prediction for a criteria of interest corresponding to an object may be performed by processor 155. In this regard, the example processes and algorithms discussed herein can be performed by at least one processor 155 and/or predictive analytics data engine 112. For example, non-transitory computer readable storage media can be configured to store firmware, one or more application programs, and/or other software, which include instructions and other computer-readable program code portions that can be executed to control processors of the components of the receiver processing and distribution system 110 to implement various operations, including the examples shown above. As such, a series of computer-readable program code portions may be embodied in one or more computer program products and can be used, with a computing device, server, and/or other programmable apparatus, to produce the machine-implemented processes discussed herein.

Any such computer program instructions and/or other type of code may be loaded onto a computer, processor or other programmable apparatuses circuitry to produce a machine, such that the computer, processor or other programmable circuitry that executes the code may be the means for implementing various functions, including those described herein.

The illustrations described herein are intended to provide a general understanding of the structure of various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus, processors, and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be minimized. Accordingly, the disclosure and the figures are to be regarded as illustrative rather than restrictive.

The above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true spirit and scope of the description. Thus, to the maximum extent allowed by law, the scope is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description. 

1-30. (canceled)
 31. A method comprising: receiving an input that defines one or more objects and one or more criteria of interest; receiving tag location data or derived tag location data for the one or more objects measured during an event; generating, using a processor, a prediction for a criteria of interest for at least one of the one or more criteria of interest for at least one of the one or more objects, wherein the prediction for a criteria of interest is generated based on at least one of tag location data or derived tag location data for the one or more objects related to the one or more criteria of interest; and causing the predictive analytic data to at least one of be displayed on an interface or transmitted to a remote device.
 32. The method of claim 31, further comprising: aggregating historical statistical data; and generating a model describing the aggregated historical statistical data, wherein the historical statistical data is usable to generate the prediction for a criteria of interest by comparing the historical statistical data to the statistical data.
 33. The method of claim 31, wherein the predictive analytic data to at least one of be displayed on an interface or transmitted to a remote device in real time.
 34. (canceled)
 35. The method of claim 31, further comprising: combining the tag location data or derived tag location data for the one or more objects to generate aggregated data.
 36. The method of claim 33, wherein the object data is generated at least in part based on tag data generated by a tag that is attachable to each of the one or more objects.
 37. The method of claim 36 wherein the tag comprises an ultra-wideband (UWB) transmitter.
 38. The method of claim 37 wherein the UWB transmitter is configured to transmit a plurality of time differences of arrival (TDOA) timing pulses. 39-94. (canceled)
 95. An apparatus comprising: at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least: receive an input that defines one or more objects and one or more criteria of interest; receive tag location data or derived tag location data for the one or more objects measured during an event; generate a prediction for a criteria of interest for at least one of the one or more criteria of interest for at least one of the one or more objects, wherein the prediction for a criteria of interest is generated based on at least one of tag location data or derived tag location data for the one or more objects related to the one or more criteria of interest; and cause the predictive analytic data to at least one of be displayed on an interface or transmitted to a remote device.
 96. The apparatus according to claim 95, wherein the at least one memory including the computer program code is further configured to, with the at least one processor, cause the apparatus to: aggregate historical statistical data; and generate a model describing the aggregated historical statistical data, wherein the historical statistical data is usable to generate the prediction for a criteria of interest by comparing the historical statistical data to the statistical data.
 97. The apparatus according to claim 95, wherein the predictive analytic data to at least one of be displayed on an interface or transmitted to a remote device in real time.
 98. (canceled)
 99. The apparatus according to claim 95, wherein the at least one memory including the computer program code is further configured to, with the at least one processor, cause the apparatus to: combine the tag location data or derived tag location data for the one or more objects to generate aggregated data.
 100. The apparatus according to claim 97, wherein the object data is generated at least in part based on tag data generated by a tag that is attachable to each of the one or more objects.
 101. The apparatus according to claim 100, wherein the tag comprises an ultra-wideband (UWB) transmitter.
 102. The apparatus according to claim 101, wherein the UWB transmitter is configured to transmit a plurality of time differences of arrival (TDOA) timing pulses. 103-158. (canceled)
 159. A computer program product comprising: at least one computer readable non-transitory memory medium having program code instructions stored thereon, the program code instructions which when executed by an apparatus cause the apparatus at least to: receive an input that defines one or more objects and one or more criteria of interest; receive tag location data or derived tag location data for the one or more objects measured during an event; generate a prediction for a criteria of interest for at least one of the one or more criteria of interest for at least one of the one or more objects, wherein the prediction for a criteria of interest is generated based on at least one of tag location data or derived tag location data for the one or more objects related to the one or more criteria of interest; and cause the predictive analytic data to at least one of be displayed on an interface or transmitted to a remote device.
 160. The computer program product of claim 159, further comprising program code instructions which when executed by the apparatus further cause the apparatus at least to: aggregate historical statistical data; and generate a model describing the aggregated historical statistical data, wherein the historical statistical data is usable to generate the prediction for a criteria of interest by comparing the historical statistical data to the statistical data.
 161. The computer program product of claim 159, wherein the predictive analytic data to at least one of be displayed on an interface or transmitted to a remote device in real time.
 162. (canceled)
 163. The computer program product of claim 159, further comprising program code instructions which when executed by the apparatus further cause the apparatus at least to: combine the tag location data or derived tag location data for the one or more objects to generate aggregated data.
 164. The computer program product of claim 161, wherein the object data is generated at least in part based on tag data generated by a tag that is attachable to each of the one or more objects.
 165. The computer program product of claim 164, wherein the tag comprises an ultra-wideband (UWB) transmitter and wherein the UWB transmitter is configured to transmit a plurality of time differences of arrival (TDOA) timing pulses. 166-192. (canceled) 